This invention relates to software creation devices and software creation methods applied to business software, games software and all other fields"" software.
Traditional software has been created through the steps of requirement definition, basic design, detail design, programming, compile, program test and general test. A series of these steps are implemented by SE""s personal abilities including experience, knowledge, applying abilities, etc.
Accordingly, an imagination of automatic creation of software itself is a reckless attempt in reality, and the purpose can be said to be unpredictable in the said field.
Nevertheless, this invention has a purpose to provide software creation device and software creation method that allows automatic creation of software by means of mechanical algorithm only, without necessitating personal abilities including SE""s personal abilities including experience, knowledge, applying abilities, etc.
The background of this invention which realizes the aforementioned can be found in the universal structural proposition of software, that is, the premise of the LYEE proposition which enables the determination of software existing as the one and only against the requirement event. As a result, it can provide software creation device and software creation method in order to realize the productivity improvement, the quality uniformity and the easy maintenance.
This invention has been achieved to attain the above purpose.
This invention presents a software creation devise, said software comprising:
(a) Means for having W04 Duplication element and W04 Autopoiesis vector for performing screen editing, W02 Autopoiesis vector for determining the process route, W03 Duplication element and W03 Autopoiesis vector for performing data editing for file update, all of which have an indefinitive part to be allocated with a definitive identifier and a word identifier corresponding respectively to screen, file or voucher (screen, file and voucher being called xe2x80x98definitivexe2x80x99 hereinafter) necessary for software to be produced, and to the word existing on the definitive at the same time are defined as universal structure regardless of the kinds or the functions of the software, wherein:
(a-1) The W04 Duplication element, if the data area of W03 identified by the same word""s identifier is not xe2x80x9cemptyxe2x80x9d, sets a data value of W03 data area identified by the same word identifier into the data area identified by the word
(a-2) The W04 Autopoiesis vector, if the data area of W04 identified by the word identifier is not xe2x80x9cemptyxe2x80x9d and when a refusal flag of W02 or W03 identified by the same word identifier has been set, sets a refusal code and resets a refusal flag, and if the data area of W04 identified by the word identifier is xe2x80x9cemptyxe2x80x9d, introduces and sets a data into the data area of W04 identified by the word identifier from the data area of W04 identified by an identifier of the other words rather than the word, and, when the restart is possible even if the aforementioned data introduction cannot be done, sets a restart flag or, when restart is not possible, sets a refusal code identified by the same word identifier;
(a-3) The W02 Autopoiesis vector, if the data area of W02 identified by the word identifier is not xe2x80x9cemptyxe2x80x9d, sets a process route flag, and when a process route flag setting is refused and a restart is possible, sets a restart flag, or when a restart is impossible, sets a refusal flag identified by the same word identifier;
(a-4) The W03 Duplication element, if the data area of W02 identified by the same word identifier is not xe2x80x9cemptyxe2x80x9d, sets a data value of W02 data area identified by the same word identifier into the data area identified by the word identifier of the W03;
(a-5) The W03 Autopoiesis vector, if the data area of W03 identified by the word identifier is xe2x80x9cemptyxe2x80x9d, does one of the followings: (i) setting a data from the data area of W02 identified by the word identifier in a predetermined way; or (ii) setting a data from the data area of W03 identified by the word identifier on file in a predetermined way; or (iii) setting a data into the data area of W03 identified by the word by use of the provided calculation equation, and, when the restart is possible even if the aforementioned data setting value cannot be done, sets a restart flag or, when the restart is not possible, sets a refusal flag identified by the same word identifier;
(b) A group of pallets having W04 pallet for putting together executably, per screen, each W04 Duplication element and W04 Autopoiesis vector corresponding to the word identifier of the word existing on the screen into an order of the Duplication element group and the Autopoiesis vector group and for assembling each W04 data area identified by each word identifier; W02 pallet for putting together executably, per screen, each W02 Autopoiesis vector corresponding to the word identifier of the word existing on the screen and for assembling each W02 data area identified by each word identifier; and W03 pallet for putting together executably each W03 Duplication element and W03 Autopoiesis vector corresponding to the word identifier of the word existing on the whole definitive in the system into an order of the Duplication element group and the Autopoiesis vector group and for assembling each W03 data area identified by each word identifier;
(c) W04, W02, and W03 pallet function means for executing each Duplication element and Autopoiesis vector inside the corresponding pallet, and re-executing each Duplication element and Autopoiesis vector inside the pallet if a pallet restart flag in the pallet has been set, each means having an indefinitive part to be allocated with the definitive identifier and the word identifier, at the same time being defined as universal structure regardless of the kinds or the functions of the software;
(d) Pallet chain function means for executing the W04 pallet; sending a screen data based on the execution onto a computer screen; receiving a screen data corresponding to the sent screen data and executing the W02 pallet; determining a process route based on the process route flag of the W02 pallet; and executing the W03 pallet accorded in the determined process route, said means defined as universal structure regardless of the kinds or the functions of the software,
wherein the software creation device comprises:
Memory means for memorizing, in advance, the W04 Duplication element, the W04 Autopoiesis vector, the W02 Autopoiesis vector, the W03 Duplication element, W03 Autopoiesis vector, and the pallet group of the (b), each pallet function means of the (c) and pallet chain function means of the (d), all of whose definitive identifier, word identifier, process route and, if it applies, calculation equation, are undefined;
Means for inputting, per the word, the definitive identifier, the word identifier, the process route, input or output attribute of the word and, if it applies, the calculation equation;
Allocating means for allocating, per the word, the definitive identifier, the word identifier, the process route, and, if it applies, the calculation equation into the prescribed locations of the memorized undefined W04 Duplication element, W04 Autopoiesis vector, W02 Autopoiesis vector, W03 Duplication element, W03 Autopoiesis vector, the pallet group of (b), the pallet function means of the (c), and for creating, in W03 Autopoiesis vector, a data setting description corresponding to the (i) (ii) (iii) based on input and output attribute to the corresponding word and, if it applies, the calculation equation;
Means for obtaining objective software by combining the consequence of the allocating means and the pallet chain function means memorized by the memory means.
Also this invention provides a software creation method, said software comprising:
(a) Means for having W04 Duplication element and W04 Autopoiesis vector for performing screen editing, W02 Autopoiesis vector for determining the process route, W03 Duplication element and W03 Autopoiesis vector for performing data editing for file update, all of which have an indefinitive part to be allocated with a definitive identifier and a word identifier corresponding respectively to screen, file or voucher (screen, file and voucher being called xe2x80x98definitivexe2x80x99 hereinafter) necessary for software to be produced, and to the word existing on the definitive, at the same time are defined as universal structure regardless of the kinds on the functions of the software, wherein:
(a-1) The W04 Duplication element, if the data area of W03 identified by the same word""s identifier is not xe2x80x9cemptyxe2x80x9d, sets a data value of W03 data area identified by the same word identifier into the data area identified by the word identifier of the W04;
(a-2) The W04 Autopoiesis vector, if the data area of W04 identified by the word identifier is not xe2x80x9cemptyxe2x80x9d and when a refusal flag of W02 or W03 identified by the same word identifier has been set, sets a refusal code and resets a refusal flag, and if the data area of W04 identified by the word identifier is xe2x80x9cemptyxe2x80x9d, introduces and sets a data into the data area of W04 identified by the word identifier from the data area of W04 identified by an identifier of the other words rather than the word, and, when the restart is possible even if the aforementioned data introduction cannot be done, sets a restart flag or, when restart is not possible, sets a refusal code identified by the same word identifier;
(a-3) The W02 Autopoiesis vector, if the data area of W02 identified by the word identifier is not xe2x80x9cemptyxe2x80x9d, sets a process route flag, and when a process route flag setting is refused and a restart is possible, sets a restart flag, or when a restart is impossible, sets a refusal flag identified by the same word identifier;
(a-4) The W03 Duplication element, if the data area of W02 identified by the same word identifier is not xe2x80x9cemptyxe2x80x9d, sets a data value of W02 data area identified by the same word identifier into the data area identified by the word identifier of the W03;
(a-5) The W03 Autopoiesis vector, if the data area of W03 identified by the word identifier is xe2x80x9cemptyxe2x80x9d, does one of the followings: (i) setting a data from the data area of W02 identified by the word identifier in a predetermined way; or (ii) setting a data from the data area of W03 identified by the word identifier on file in a predetermined way; or (iii) setting a data into the data area of W03 identified by the word by use of the provided calculation equation, and, when the restart is possible even if the aforementioned data setting value cannot be done, sets a restart flag or, when the restart is not possible, sets a refusal flag identified by the same word identifier;
(b) A group of pallets having W04 pallet for putting together executably, per screen, each W04 Duplication element and W04 Autopoiesis vector corresponding to the word identifier of the word existing on the screen into an order of the Duplication element group and the Autopoiesis vector group and for assembling each W04 data area identified by each word identifier; W02 pallet for putting together executably, per screen, each W02 Autopoiesis vector corresponding to the word identifier of the word existing on the screen and for assembling each W02 data area identified by each word identifier; and W03 pallet for putting together executably each W03 Duplication element and W03 Autopoiesis vector corresponding to the word identifier of the word existing on the whole definitive in the system into an order of the Duplication element group and the Autopoiesis vector group and for assembling each W03 data area identified by each word identifier;
(c) W04, W02, and W03 pallet function means for executing each Duplication element and Autopoiesis vector inside the corresponding pallet, and re-executing each Duplication element and Autopoiesis vector inside the pallet if a pallet restart flag in the pallet has been set; each means having an indefinitive part to be allocated with the definitive identifier and the word identifier, at the same time being defined as universal structure regardless of the kinds or the functions of the software;
(d) Pallet chain function means for executing the W04 pallet; sending a screen data based on the execution onto a computer screen; receiving a screen data corresponding to the sent screen data and executing the W02 pallet; determining a process route based on the process route flag of the W02 pallet; and executing the W03 pallet accorded in the determined process route, said means defined as universal structure regardless of the kinds or the functions of the software,
wherein the software creation device comprises:
Memorizing, in advance, the W04 Duplication element, the W04 Autopoiesis vector, the W02 Autopoiesis vector, the W03 Duplication element, W03 Autopoiesis vector, and the pallet group of the (b), each pallet function means of the (c) and pallet chain function means of the (d), all of whose definitive identifier, word identifier, process route and, if it applies, calculation equation, are undefined; Inputting, per the word, the definitive identifier, the word identifier, the process route, input or output attribute of the word and, if it applies, the calculation equation; Allocating, per the word, the definitive identifier, the word identifier, the process route, and, if it applies, the calculation equation into the prescribed locations of the memorized undefined W04 Duplication element, W04 Autopoiesis vector, W02 Autopoiesis vector, W03 Duplication element, W03 Autopoiesis vector, the pallet group of (b), the pallet function means of the (c), and for creating, in W03 Autopoiesis vector, a data setting description corresponding to the (i) (ii) (iii) based on input and output attribute to the corresponding word and, if it applies, the calculation equation;
Obtaining objective software by combining the consequence of the allocation and the pallet chain function means memorized by the memory means.
With this invention, a new software production method has been already advocated (One is International Disclosure Number WO97/16784. The other is International Patent Application Number PCT/JP97/01492). This is what is called LYEE (Governmental Methodology for Software Providence). The theorem of LYEE is as follows: xe2x80x9cIt can establish the one and only logical function that can synchronize the software requirement into a computer space. By designating the logical function by T0, the computer space can be expressed by T0n (nxe2x89xa71). T0 is called Scenario Function.xe2x80x9d
Hereupon, the Scenario Function is:
T0="PHgr"0 ({"PHgr"p {LE, i, W02} E} e+"PHgr"p {YD, i, W03xc2x7LD, i, W03} d+"PHgr"p {YE, i, W04xc2x7LE, i, W04} E} e)
Here,
"PHgr"p {LE, i, W02} E=W02 palette
"PHgr"p {YD, i, W03xc2x7LD, i, W03} d=W03 palette
"PHgr"p {YE, i, W04xc2x7LE, i, W04} E=W04 palette
E: an independent variable called definitive""s identifier consisting of event information like screen, message, etc.
e: an independent variable of kinds of E existing in the developing system.
D: an independent variable called identifier of definitive""s like screen, message, file, etc. (E is contained in D).
d: an independent variable of kinds of D existing in the developing system (e is contained in d).
i: an independent variable called an identifier of words (data items) contained in E and D.
Y: Called a Duplication element and is a function to perform synchronization between meaning domains.
L: It is called a Autopoiesis vector and a function to perform synchronization with memory if memory exists, or to perform operational synchronization if memory does not exist. Its logical structure is uniquely defined as shown in FIGS. 4 to 7.
"PHgr"p { }: Called a Palette function and a function to assemble a set of Duplication element YD, i, Wn and Autopoiesis vector LD, i, Wn. A set of the Duplication element, Autopoiesis vector and data area, D, I, Wn, is called a palette.
W02, W03, W04: Meaning domain identifiers (The meaning domain occurrence order is fixed as W04xe2x86x92W02xe2x86x92W03).
"PHgr"0: Called a Pallet Chain Function and a function to chain palettes (The palette chaining order is fixed as W04xe2x86x92W02xe2x86x92W03).
The Duplication element, Autopoiesis venctor and palette function shown in FIGS. 4 to 7 have only variables of xe2x80x9cD, Ixe2x80x9d, if parts of xe2x80x9cData Autopoiesisxe2x80x9d in Autopoiesis vector shown in FIGS. 5 and 7 and xe2x80x9cprocess routexe2x80x9d in Autopoiesis vector shown in FIG. 6 are excluded. Reversibly speaking, if the parts of xe2x80x9cData Autopoiesisxe2x80x9d, xe2x80x9cprocess routexe2x80x9d, and xe2x80x9cD, Ixe2x80x9d are only defined, Duplication element, Autopoiesis vector and palette function can be determined, that is, a program having that Duplication element, Autopoiesis vector and palette function can be determined. Also, Pallet Chain Function is absolutely the one and only program. This invention notes this point. That is, Duplication element, Autopoiesis vector and palette function, with the xe2x80x9cData Autopoiesisxe2x80x9d part, the xe2x80x9cprocess routexe2x80x9d part and xe2x80x9cD, Ixe2x80x9d are yet undefined, are prepared in advance, as well as providing, in advance, a relationship between the definition table and the undefined parts of Duplication element, Autopoiesis vector, and palette function, and this facility consequently enables to automatically create software simply by inputting the xe2x80x9cData Autopoiesisxe2x80x9d part, the xe2x80x9cprocess routexe2x80x9d part and xe2x80x9cD, Ixe2x80x9d into, for example, the definition table.